<template>
  <div id="app">
    <!-- <comfooternav></comfooternav> -->

    <comfooternav v-if="is_show"></comfooternav>

    <!-- 下面是整体的路由容器都在这里汇聚这里 -->
    <router-view></router-view>
  </div>
</template>



<script>
import axios from "axios";
import comfooternav from "@/components/comfooternav.vue";
export default {
  //组件名字
  name: "app",
  //接收父组件给的东西 type是接收什么东西  default 默认值
  props: {
    list: {
      type: Array,
      default() {
        return [];
      },
    },
    color: {
      type: String,
      default: "#000",
    },
  },
  //组件注册
  components: {
    comfooternav,
  },
  // vue数据集中管理
  data() {
    return {
      value: "1",
      is_show: true,
    };
  },
  //方法 函数写这里
  methods: {},
  //计算属性
  computed: {},
  //侦听器
  watch: {},
  //过滤器
  filters: {
    toUpcase(value) {
      return value ? value.toUpperCase() : "";
    },
  },
  //以下是生命周期
  //组件创建之前
  beforeCreate() {},
  //组件创建之后
  created() {
    this.eventBus.$on("footernav", (flag) => {
      this.is_show = flag;
    });
  },
  //页面渲染之前
  beforeMount() {},
  //页面渲染之后
  mounted() {
    console.log("进入app页面mounted了");
    if (this.$store.state.token) {
      axios({
        method: "get",
        url: "http://127.0.0.1:6800/api/v1/user_info",
        headers: { Authorization: "Bearer " + this.$store.state.token },
      }).then((res) => {
        console.log("进入 App页面里面  的总体请求用户信息数据了");
        console.log(res);
        // 接下来把res返回来的用户信息  利用变异器 存入vuex  让其他  所有的小页面想用 可以持久化用
         console.log('res code')
            console.log(res.data.code) 
            //先根据状态码处理失败情况
            if(res.data.code === '888') {
               console.log('进入失败情况  获取总体数据')
               localStorage.removeItem('_token')
               return
            }
            console.log('全局数据token校验正确情况')
            console.log(res);
            console.log(res.data.info2.mobile)
            this.$store.commit('usermobile',res.data.info2.mobile)
      });
    }
  },
  //页面销毁之前
  beforeDestroy() {},
  //页面销毁之后
  destroyed() {},
  //页面视图数据更新之前
  beforeUpdate() {},
  //页面视图数据更新之后
  updated() {},
  //组件路由守卫enter
  beforeRouteEnter(to, from, next) {
    next((vm) => {});
    // 注意，在路由进入之前，组件实例还未渲染，所以无法获取this实例，只能通过vm来访问组件实例
  },
  //组件路由守卫update更新
  beforeRouteUpdate(to, from, next) {
    // 同一页面，刷新不同数据时调用，
    next();
  },
  //组件路由守卫离开
  beforeRouteLeave(to, from, next) {
    // 离开当前路由页面时调用
    next();
  },
};
</script>





<style lang="scss" >
* {
  margin: 0;
  padding: 0;
}

html,
body {
  // touch-action:none;
  height: 100%;
  background: #f4f4f4;
  ul,
  li {
    list-style: none;
  }
}
</style> 
 